package poo.esempi;

import poo.sistema.*;
import java.util.*;

public class SEL {
	public static void main(String[] args){
		
		System.out.println("Sistema risolto con GAUSS");
		Scanner sc = new Scanner(System.in);
		System.out.print("Dimensione del sistema= ");
		int n = sc.nextInt();
		if(n<=0) throw new RuntimeException("Dimensione non positiva!");
		double[][]a=new double[n][n];
		double[]y=new double[n];
		double[]x=null;
		//lettura matrice
		
		for(int i=0; i<n; i++)
			for(int j=0; j<n; j++){
				System.out.println("Fornisci "+n+" x "+n+" elementi della matrice a per righe");
				System.out.print("a["+i+","+j+"]=");
				a[i][j]=sc.nextDouble();
			}
			
			System.out.println();
			System.out.println("Fornisci "+n+" termini noti");
			for(int i=0; i<n; i++){
				System.out.print("y["+i+"]=");
				y[i]=sc.nextDouble();
			}
			Sistema s = new Gauss(a,y);
			System.out.println(s);
			try{
				x=s.risolvi();
			}catch(SistemaSingolare e){
				System.out.println("Sistema Singolare!!!");
				System.exit(-1);
			}
			System.out.println(s);//visualizza sistema triangolare
			//scrivi risultati
			System.out.println("Vettore delle incognite");
			for(int i=0; i<n; i++)
				System.out.printf("x["+i+"]=%1.2f\n", x[i]);
		}
}
